---
title: EOF Function
keywords: vblr6.chm1008908
f1_keywords:
- vblr6.chm1008908
ms.prod: office
ms.assetid: 593d065e-635a-8e9f-9623-fc223eab1afa
ms.date: 06/08/2017
---


# EOF Function



Returns an [Integer](vbe-glossary.md) containing the[Boolean](vbe-glossary.md) value **True** when the end of a file opened for **Random** or sequential **Input** has been reached.
 **Syntax**
 **EOF(**_filenumber_**)**
The required  _filenumber_[argument](vbe-glossary.md) is an **Integer** containing any valid[file number](vbe-glossary.md).
 **Remarks**
Use  **EOF** to avoid the error generated by attempting to get input past the end of a file.
The  **EOF** function returns **False** until the end of the file has been reached. With files opened for **Random** or **Binary** access, **EOF** returns **False** until the last executed **Get** statement is unable to read an entire record.
With files opened for  **Binary** access, an attempt to read through the file using the **Input** function until **EOF** returns **True** generates an error. Use the **LOF** and **Loc** functions instead of **EOF** when reading binary files with **Input**, or use **Get** when using the **EOF** function. With files opened for **Output**, **EOF** always returns **True**.

## Example

This example uses the  **EOF** function to detect the end of a file. This example assumes that `MYFILE` is a text file with a few lines of text.


```vb
Dim InputData
Open "MYFILE" For Input As #1    ' Open file for input.
Do While Not EOF(1)    ' Check for end of file.
    Line Input #1, InputData    ' Read line of data.
    Debug.Print InputData    ' Print to the Immediate window.
Loop
Close #1    ' Close file.

```


